package org.springblade.tms.module.gps.dto;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;

import static org.springblade.tms.global.constant.GPSConSigName.CONSIG_NAME;

/**
 * @projectName: BladeX
 * @package: org.springblade.tms.module.gps.dto
 * @className: WaybillSynchronizationDTO
 * @author: yr
 * @description: gps运单同步接口实体类
 * @date: 2022/5/5 9:43
 */
@Data
public class WaybillSynchronizationDTO {
	//货主公司名称
	@JSONField(name = "consigName")
	private String consigName = CONSIG_NAME;
	/**
	 * 运输单号
	 */
	@ApiModelProperty(value = "运输单号")
	@JSONField(name = "consigNo")
	private String transportNo;
	/**
	 * 计划提货日期-开始
	 */
	@ApiModelProperty(value = "计划提货日期")
	@JSONField(name = "expectPickTime",format = "yyyy-MM-dd HH:mm:ss")
	private LocalDateTime planGetGoodsDateStart;
	/**
	 * 源位置名称
	 */
	@ApiModelProperty(value = "装货单位名称")
	@JSONField(name = "sendCompany")
	private String startLocationName;
	/**
	 * 原位置区域（省份）
	 */
	@ApiModelProperty(value = "原位置区域（省份）")
	@JSONField(name = "sendProvince")
	private String startLocationArea;
	/**
	 * 源位置城市
	 */
	@ApiModelProperty(value = "源位置城市")
	@JSONField(name = "sendCity")
	private String startLocationCity;
	/**
	 * 源位置街道
	 */
	@ApiModelProperty(value = "详细地址")
	@JSONField(name = "sendAddress")
	private String startLocationStreet;
	/**
	 * 目标位置名称
	 */
	@ApiModelProperty(value = "目标位置名称")
	@JSONField(name = "recvCompany")
	private String targetLocationName;
	/**
	 * 目标位置区域（省份）
	 */
	@ApiModelProperty(value = "目标位置区域（省份）")
	@JSONField(name = "recvProvince")
	private String targetLocationArea;
	/**
	 * 目标位置城市
	 */
	@ApiModelProperty(value = "目标位置城市")
	@JSONField(name = "recvCity")
	private String targetLocationCity;
	/**
	 * 目标位置街道
	 */
	@ApiModelProperty(value = "目标位置详细地址")
	@JSONField(name = "recvAddress")
	private String targetLocationStreet;
	//物料信息
	@JSONField(name = "gentlyBillGoods")
	private GentlyBillGoodsDTO gentlyBillGoods;
	//车辆信息
	@JSONField(name = "gentlyBillVehicle")
	private GentlyBillVehicleDTO gentlyBillVehicle;
}
